﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MyVideoTek
{
    public partial class SelectionnerFolderPath : Form
    {
        public SelectionnerFolderPath()
        {
            InitializeComponent();
        }

        private void BTNAjouterDossier_Click(object sender, EventArgs e)
        {
            //Fenetre parcourir
            FolderBrowserDialog parcourirDossier = new FolderBrowserDialog();

            //Affichage de la fenetre
            parcourirDossier.ShowDialog();

            //Si le dossier selectionné existe, on le parcours et on l'affiche
            if (parcourirDossier.SelectedPath != "")
            {
                DisplaySubDirectories(parcourirDossier.SelectedPath);
            }

            ListeFolderPath.Items.Add(parcourirDossier.SelectedPath);
        }

        private void DisplaySubDirectories(string strDirectory)
        {
            //Parcours d'un dossier
            foreach (string currentSubDirectory in System.IO.Directory.GetDirectories(strDirectory))
            {
                //Ajoute le dossier à l'affichage
                ListeFolderPath.Items.Add(currentSubDirectory);

                //Parcours le sous dossier
                DisplaySubDirectories(currentSubDirectory);
            }
        }
        

        private void BTNQuitter_Click(object sender, EventArgs e)
        {
            //Message d'avertissement, l'application se fermera
            DialogResult resultat = MessageBox.Show("Si vous quitter cette fenêtre le programme se fermera automatiquement. Êtes-vous sûre de vouloir quitter ?", "Avertissement", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            //Si l'utilisateur veut quand même quitter la fenetre
            if (resultat == DialogResult.Yes)
            {
                //On ferme
            //    this.Dispose();
             //   Application.Exit();
            }
        }

        private void SelectionnerFolderPath_FormClosed(object sender, FormClosedEventArgs e)
        {
          //  Application.Exit();
        }


        private List<String> GetListFolder()
        {
            List<String> lesDossier = new List<string>();
            foreach (string unDossier in ListeFolderPath.Items)
            {
                lesDossier.Add(unDossier);
            }

            return lesDossier;
        }

        private void BTNSuivant_Click(object sender, EventArgs e)
        {
            //Cache la fenetre
          //  this.Hide();

            //Ouverture de la fenetre de récupération des films
            synchronisation FormSync = new synchronisation(GetListFolder());
            FormSync.ShowDialog();

            //Fenetre la fenetre
            this.Dispose();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //S'il y a quelque chose à supprimer
            if (ListeFolderPath.SelectedItems != null)
            {
                //Parcours des itmes à supprimer
                for (int i = 0; i < ListeFolderPath.SelectedItems.Count; i = i++)
                {
                    //Suppression
                    ListeFolderPath.Items.Remove(ListeFolderPath.SelectedItems[i]);
                }
            }
        }
    }
}
